package com.luolixia.srb.core.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.luolixia.srb.core.pojo.entity.Borrower;
import com.baomidou.mybatisplus.extension.service.IService;
import com.luolixia.srb.core.pojo.vo.BorrowerApprovalVO;
import com.luolixia.srb.core.pojo.vo.BorrowerDetailVO;
import com.luolixia.srb.core.pojo.vo.BorrowerVO;

/**
 * <p>
 * 借款人 服务类
 * </p>
 *
 * @author viki
 * @since 2021-05-04
 */
public interface BorrowerService extends IService<Borrower> {
    /**
     * 根据用户id保存借款人
     * @param borrowerVO 借款人vo
     * @param userId 用户id
     */
    void saveBorrowerVOByUserId(BorrowerVO borrowerVO, Long userId);

    /**
     * 根据用户id获取状态
     * @param userId 用户id
     * @return 返回用户状态
     */
    Integer getStatusByUserId(Long userId);

    /**
     * 分页
     * @param pageParam 分页参数
     * @param keyword 关键字
     * @return 返回分页
     */
    IPage<Borrower> listPage(Page<Borrower> pageParam, String keyword);

    /**
     * 根据id获取借款人详细信息
     * @param id id
     * @return 借款人详细信息
     */
    BorrowerDetailVO getBorrowerDetailVOById(Long id);

    /**
     * 评定综合积分
     * @param borrowerApprovalVO 借款人批准vo
     */
    void approval(BorrowerApprovalVO borrowerApprovalVO);
}
